package commonclass.OtherClassTest;


import org.junit.jupiter.api.Test;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Random;

/**
 * @author Lenl
 * @version v1.0
 * @create 2021-06-04 11:51
 * @description System系统类的测试
 *
 *
 */
public class OtherClassTest {
    /**
     * System类
     */
    @Test
    public  void test(){
        String javaVersion=System.getProperty("java.version");
        System.out.println("java的Version:"+javaVersion);
        String osName=System.getProperty("os.name");
        System.out.println("os的name:"+ osName);
        String osVersion=System.getProperty("os.version");
        System.out.println("os的Version:"+osVersion);
        String userName=System.getProperty("user.name");
        System.out.println("user的name:"+userName);
        String userHome=System.getProperty("user.home");
        System.out.println("user的home:"+userHome);
        String userDir=System.getProperty("user.dir");
        System.out.println("user的dir:"+userDir);
    }

    /**
     * Math类
     * 如random()返回0.0-1.0的整数
     */
    @Test
    public void test2(){
        Random r=new Random();
        int s=r.nextInt(20);//[0-20)
        System.out.println(s);
        System.out.println((int)(Math.random()*(10-2+1)+1));//（数据类型）(最小值 + Math.random()*(最大值-最小值+1) );
    }

    /**
     * BigInteger表示不可变的任意精度的整数
     *
     *BigDecimal表示不可变的、任意精度的有符号十进制定点数
     */
    @Test
    public void test3(){
        BigInteger bi=new BigInteger("123123123456789456789456123");
        BigDecimal bd=new BigDecimal(12354.4512);
        BigDecimal bd2=new BigDecimal("11");
        System.out.println(bi);
        System.out.println(bd.divide(bd2,BigDecimal.ROUND_HALF_UP));//指定四舍五入
        System.out.println(bd.divide(bd2,25,BigDecimal.ROUND_HALF_UP));//指定精度
    }

}
